/*
  学习目标：掌握hooks的三个使用限制
*/

import React, { useState } from 'react';

let isSHow = false;
const list = [1, 2];
// rfc
export default function App() {
  if (isSHow) {
    // 1. 不能在if else语句中使用hooks
    // const [msg, setMsg] = useState('hello React'); //2  =>  1
  }

  for (let i = 0; i < list.length; i++) {
    // 2. 不能在for语句中使用hooks
    // const [msg2, setMsg2] = useState('hello React'); //3  => 2
  }

  const [count, setCount] = useState(0); // 1

  return (
    <div>
      {count}
      <div>
        <button onClick={() => setCount(count + 1)}>点我</button>
      </div>
    </div>
  );
}

// 3. 不能在普通函数中使用hooks
// 普通函数: 1. 非函数式组件  2. 非use开头的自定义hooks
function Hello() {
  const [count, setCount] = useState(0); // 1
  return <h1>Hello</h1>;
}

//  非use开头的自定义hooks
function useHello() {
  const [count, setCount] = useState(0); // 1
  return <h1>Hello</h1>;
}
